7848. Переставить соседние

 

Задан массив из n целых чисел. Поменяйте местами соседние элементы массива (a0 с a1, a2 с a3 и так далее). Если элементов нечетное количество, то последний элемент следует оставить на своем месте.

 

Вход. В первой строке записано число n. В следующей строке записано n целых чисел. Все числа по модулю не превышают 100.

 

Выход. Вывести обновленный массив.

 

Пример входа

Пример выхода

7

3 5 -7 7 5 -9 -4

5 3 7 -7 -9 5 -4

 

 

РЕШЕНИЕ

массив

 

Анализ алгоритма

Двигаемся по четным индексам i массива пока i < n – 1. Меняем местами элементы mi и mi+1 (i = 0, 2, 4, …).

 

Реализация алгоритмацикл

Читаем входные данные.

 

scanf("%d", &n);

for (i = 0; i < n; i++)

  scanf("%d", &m[i]);

 

Двигаемся по четным индексам i массива пока i < n – 1. Используя дополнительную переменную temp, меняем местами элементы mi и mi+1.

 

for (i = 0; i + 1 < n; i += 2)

{

  temp = m[i]; m[i] = m[i + 1]; m[i + 1] = temp;

}

 

Выводим результирующий массив.

 

for (i = 0; i < n; i++)

  printf("%d ", m[i]);

printf("\n");

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    int a[]= new int[n];

    for (int i = 0; i < n; i++)

      a[i] = con.nextInt();

 

    for (int i = 0; i < n - 1; i += 2)

    {

      int temp = a[i];

      a[i] = a[i+1];

      a[i+1] = temp;

    }

     

    for (int i = 0; i < n; i++)

      System.out.print(a[i] + " ");

 

    con.close();

  }

}

 

Python реализация

 

n = int(input())

lst = list(map(int,input().split()))

 

for i in range(0,n - 1,2):

  lst[i], lst[i+1] = lst[i+1], lst[i]

 

for i in range(n):

  print(lst[i], end = " ")